package com.itheima.streamdemo;

import java.util.ArrayList;
import java.util.List;

public class StreamDemo1 {

    public static void main(String[] args) {
        // 目标：Stream流案例
        List<String> list = List.of("张三丰", "张无忌", "赵敏", "周芷若", "张强", "张三丰");
        List<String> newList = new ArrayList<>();
        // 方案一：使用传统方式，找出姓张的人，且名字长度为三个字符
        for (String s : list) {
            if (s.startsWith("张") && s.length() == 3) {
                newList.add(s);
            }
        }
        for (String s : newList) {
            System.out.println(s);
        }

        System.out.println("--------------------");
        // 方案二：使用Stream流，找出姓张的人，且名字长度为三个字符
        // 1. 获取Stream流 list.stream()
        // 2. 对Stream流进行过滤操作 filter(s -> s.startsWith("张"))
        // 3. 对Stream流进行终结操作
        // 4. 获取结果
//        List<String> newList2 = new ArrayList<>();
//        list.stream()
//                .filter(s -> s.startsWith("张"))
//                .filter(s -> s.length() == 3)
//                .forEach(newList2::add);
        List<String> newList2 = list.stream()
                .filter(s -> s.startsWith("张"))
                .filter(s -> s.length() == 3)
                .toList();
        for (String s : newList2) {
            System.out.println(s);
        }

    }
}
